/**
 * 
 */
package com.broadtext.rms.system.dao;

import java.util.List;
import java.util.Map;

import com.broadtext.common.exp.DaoException;
import com.broadtext.rms.system.model.SysDict;

/**
 * @author guhuajie
 *
 */
public interface ISysDictDao {
    /**
     * 
     * <p>
     * Description: 获取所有字典
     * </p>
     * 
     * @return List<SysDict>
     * @throws DaoException daoException
     */
    public List<SysDict> selectAllDict() throws DaoException;
    
    /**
     * 
     * <p>
     * Description: 获取所有字典
     * </p>
     * 
     * @return List<SysDict>
     * @throws DaoException daoException
     */
    public List<SysDict> selectAdminDict() throws DaoException;
    
    /**
     * 
     * <p>
     * Description: 根据用户名获取用户所有字典
     * </p>
     * 
     * @param loginName 用户名
     * @return List<SysDict>
     * @throws DaoException daoException
     */
    public List<SysDict> selectDictByLoginName(String loginName) throws DaoException;
    
    /**
     * 
     * <p>
     * Description: 根据用户名id获取用户字典
     * </p>
     * 
     * @param userId 用户id
     * @return List<SysDict>
     * @throws DaoException daoException
     */
    public List<SysDict> selectDictByUserId(String userId) throws DaoException;
    
    /**
     * 
     * <p>
     * Description: 根据dictId查找字典
     * </p>
     * 
     * @param dictId 参数
     * @return List<SysDict>
     * @throws DaoException daoException
     */
    public List<SysDict> selectDictByDictId(String dictId) throws DaoException;
    
    
    /**
     * 
     * <p>
     * Description: 根据查询查找资源
     * </p>
     * 
     * @param map 参数
     * @return List<SysDict>
     * @throws DaoException daoException
     */
    public List<SysDict> selectDictByMap(Map<String, Object> map) throws DaoException;

    /**
     * 
     * <p>Description: 根据parentKey和dictKey查询字典值</p>
     * @param parentKey 父字典
     * @param dictKey 字典key
     * @return 字典value
     * @throws DaoException 异常
     */
    public String selectDictByPro(String parentKey, String dictKey) throws DaoException;
}
